
package pratica06.model;

/**
 *
 * @author a100101
 */
public class Carro extends java.util.Observable implements Component {

    private java.util.ArrayList<Observer> observadores = new java.util.ArrayList<Observer>();
    private String nome;
    private int preco;
    
    public Carro(String nome, int preco){
        this.nome = nome;
        this.preco = preco;
        this.notifyTodos();
    }

    @Override
    public String getDescricao() {
        return this.nome;
        //return "Nome: "+this.nome+"\t Preço: "+this.preco;
        //System.out.println("Nome:\t"+nome+"\nPreço:\t"+preco);
    }

    @Override
    public int getPreco() {
        return this.preco;
    }

    @Override
    public boolean agregar(Observer ob) {
        return this.observadores.contains(ob)?false:this.observadores.add(ob);
    }

    @Override
    public boolean desagregar(Observer ob) {
        return this.observadores.contains(ob)?false:this.observadores.remove(ob);
    }

    @Override
    public void notifyTodos() {
        for(Observer ob:observadores)
            ob.update(this);
    }

    @Override
    public java.util.ArrayList<Observer> todosObservadores() {
        return this.observadores;
    }
       
}
